package cz.zcu.fav.rat.dataaccess.dao;

import java.util.List;

import org.joda.time.LocalDateTime;

import cz.zcu.fav.rat.beans.Period;

public interface PeriodDAO extends GenericDAO<Period, Integer>
{

	
	List<Period> findAllPeriodsByUserId(Integer userId);
	
	List<Period> findAllPeriodsByUserIdInDateRange(Integer userId, LocalDateTime from1, LocalDateTime from2, LocalDateTime from3,
			LocalDateTime to);
	List<Period> findValidPeriodsByUserIdInDateRange(Integer userId, LocalDateTime from1, LocalDateTime from2, LocalDateTime from3,
			LocalDateTime to);
	
	List<Period> findAllPeriodsByObjectIdInDateRange(Integer objectId,
			LocalDateTime from, LocalDateTime from2, LocalDateTime from3,
			LocalDateTime to);
	
	List<Period> findValidPeriodsByObjectIdInDateRange(Integer objectId,
			LocalDateTime from, LocalDateTime from2, LocalDateTime from3,
			LocalDateTime to);
	
	List<Period> findAllPeriodsByUserIdNonReturned(Integer userId);
}
